package com.zzl.bonds.ticket.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zzl.apidoc.annotation.ApidocModel;
import com.zzl.apidoc.annotation.ApidocModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 我的票据
 *
 * @author sunpp
 * @date 2022-02-16 11:14:07
 */
@Data
@ApidocModel
@SuppressWarnings("javadoc")
public class TicketAddDto implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApidocModelProperty(description = "票据编号", example = "")
    private String ticketNo;
    @ApidocModelProperty(description = "所属企业id", example = "")
    private String enterpriseId;
    @ApidocModelProperty(description = "所属企业名称", example = "")
    private String enterpriseName;
    @ApidocModelProperty(description = "票据原始金额", example = "")
    private Double ticketAllAmount;
    @ApidocModelProperty(description = "票据可用额度", example = "")
    private Double ticketAvailableAmount;
    @ApidocModelProperty(description = "票据剩余金额", example = "")
    private Double ticketSurplusAmount;
    @ApidocModelProperty(description = "转让中冻结金额", example = "")
    private Double transferFrozenAmount;
    @ApidocModelProperty(description = "融资中冻结金额", example = "")
    private Double financeFrozenAmount;
    @ApidocModelProperty(description = "已转让金额", example = "")
    private Double transferAmount;
    @ApidocModelProperty(description = "融资金额", example = "")
    private Double financeAmount;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "开单日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date invoiceTime;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "到期日期", validate = "yyyy-MM-dd HH:mm:ss")
    private Date cashTime;
    @ApidocModelProperty(description = "开单方id（开立或者转让方的企业）", example = "")
    private String parentEnterpriseId;
    @ApidocModelProperty(description = "开单方企业名称 （开立或者转让方的企业）", example = "")
    private String parentEnterpriseName;
    @ApidocModelProperty(description = "票据状态 1、正常持有 2、拆转待复核 3、已被拆转 4、融资待复核 5融资完成 6、到期未兑付 7、已兑付", example = "")
    private Integer ticketStatus;
    @ApidocModelProperty(description = "合同地址", example = "")
    private String contractAdress;
    @ApidocModelProperty(description = "票据来源,1:自建", example = "")
    private Integer ticketSource;
    @ApidocModelProperty(description = "票据数据来源,1:开立签收，2：转让签收", example = "")
    private Integer ticketTypeSource;
    @ApidocModelProperty(description = "来源票据 开票申请表id（可关联上传附件等信息）", example = "")
    private String ticketOpenId;
    @ApidocModelProperty(description = "来源票据 转让申请表id", example = "")
    private String ticketTransferId;
    @ApidocModelProperty(description = "上一级票的id,票的来源", example = "")
    private Integer parentId;
    @ApidocModelProperty(description = "票的 初始 票号", example = "")
    private String parentTicketNo;
    @ApidocModelProperty(description = "0 未预兑付 1 进入预兑付。描述：当开立申请单进入预兑付时更改状态。", example = "")
    private Integer advancePaymentStatus;
    @ApidocModelProperty(description = "部门id", example = "")
    private Integer orgId;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "创建时间", validate = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApidocModelProperty(description = "修改时间", validate = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    @ApidocModelProperty(description = "创建人", example = "")
    private Integer creatorId;

}
